package controllers

import (
	"fmt"
	"github.com/gin-gonic/gin"
	"net/http"
)

// 从服务端获取或下载文件
func GetFile(c *gin.Context) {
	fileName := "/home/rx/Documents/tmp/1.jpeg" //输出图片
	//fileName := "/home/rx/Documents/tmp/file.zip" //下载文件
	c.File(fileName)
}

// 将文件上传到服务端
func UploadFile(c *gin.Context) {
	file, err := c.FormFile("fileName")
	if err != nil {
		c.String(http.StatusBadRequest, "文件上传错误！")
	}
	//存储路径
	dst := "/home/rx/Documents/tmp/"
	c.SaveUploadedFile(file, dst+file.Filename) //存储文件
	c.String(http.StatusOK, fmt.Sprintf("%s 上传完成", file.Filename))
}

// 批量将文件上传到服务端
func UploadFileBatch(c *gin.Context) {
	//多文件的上传
	form, err := c.MultipartForm() //获取form
	if err != nil {
		c.String(http.StatusBadRequest, "上传文件错误")
	}
	files := form.File["fileName"] //上传的所有文件
	dst := "/home/rx/Documents/tmp/"
	//遍历文件
	for _, file := range files {
		c.SaveUploadedFile(file, dst+file.Filename)
	}
	c.String(http.StatusOK, fmt.Sprintf("%d 个文件上传完成！", len(files)))
}
